1. Field of the Invention
The invention relates generally to the field of voice over Internet protocol technology. More particularly, the invention relates to route testing and selection over packet-switched networks.
2. Related Art
Voice over Internet protocol (VoIP) communications services provide telephony services over packet-switched networks, like the Internet. In order to maintain call quality. VoIP services are concerned with route quality. High route quality makes for more reliable and clearer conversations. Route checking and selection over the packet switched network (like the Internet) is necessary to ensure quality of service.
Unlike typical data, voice data is extremely time dependent. Transmission delays and variations in the transmission rate alter the voice data received by the destination.
In a packet-switched network, latency and jitter are measurable qualities of network performance. Latency is the amount of time it takes a packet to reach its destination. Jitter is the variation in latency. The route is the path in the network from the origin of a packet or packets to their destination. A route can be a direct end-to-end connection path, or it can consist of a path linked by any number of routers, switches, gateways, gatekeepers, etc.
Latency and jitter can degrade the communication path between any two points on a packet-switched network, like the Internet. In a VoIP environment, latency will be perceived by the end users as a delay in the response of the remote site (or other user). Furthermore, jitter is the variation in latency from one packet to another which can be perceived as a stammering in the conversation.
Latency and jitter each impact communication differently. For example, if packets always arrived 50 milliseconds (ms) after being transmitted, then there would be a 50 ms latency and no jitter. In another example, however, if packet #1 arrived 100 ms after transmission, packet #2 arrived 50 ms after transmission, and packet #3 arrived 150 ms after transmission, there would be an average jitter of +/xe2x88x9233 ms. In VoIP applications, jitter is often more critical than latency. Jitter can cause a packet to arrive too late to be useful. The effect is that the packet may be delayed enough that the end user will hear a pause in the voice that is talking to them, which is very unnatural if it occurs during the middle of a word or sentence.
Jitter typically occurs when the network utilization is too high, and packets are being queued by gateways, switches, routers or other similar devices, causing delivery times to become unpredictable. The Internet, because of its complex structure, is often subject to varying degrees of jitter. Jitter variation can occur at different locations and at different times depending upon network traffic and other conditions.
Conventional techniques can calculate the jitter and latency present in a route. Some VoIP systems can select routes based on the lowest jitter and/or latency. Other systems can include management of the route selection process in response to network conditions.
However, these techniques are not conducive to rapidly changing network conditions and do not provide real-time route checking and selection. Additionally, these techniques do not take into account the costs of switching from the packet switched network to the public switched telephone network (PSTN) in order to maintain quality of service.
Furthermore, conventional systems do not allow calling parties to make route selections on a per call basis.
Still further, conventional systems do not allow users to supply their own criteria used in the checking and selection of routes.
Therefore, in view of the above, what is needed is a system, method and computer program product for route quality checking and management. Further, what is needed is a system, method and computer program product that can test and score routes on a network based on criteria provided by a user. Such a system would provide the optimal route for a call based on the provided criteria. Furthermore, what is needed is a system, method and computer program product that enables users to access the route quality checking and management system and provide individual or group routing preferences and/or other route information so that the system can select the proper route for that individual or group.
The invention is directed to a system, method and computer program product for a route quality checking and management system that satisfies the above-stated needs. The method of the present invention involves a routing manager or a route management module implemented at a gateway for determining which other gateways are available to it. A gateway can be any server enabled for routing voice data packets. The method involves the gateway determining the candidate routes to the other gateways, testing those candidate routes, determining candidate route statistics, scoring each candidate route tested, prioritizing each scored route and storing this priority and score information. In one embodiment, a routing manager on a gateway tests the routes to other gateways so that it can use the proper routes based on the preferences of users.
The method of the invention for checking a network route includes a routing manager determining a gateway available for routing, where the gateway is capable of responding to a request on the communications network. The routing manager determines a candidate route to the gateway, where the candidate route is within the communications network.
Routing manager tests the candidate route to a gateway using quality measurement packets, where the quality measurement packets include route information. From the route information, the routing manager determines route statistics, where the route statistics are based on routing information contained within said quality measurement packets. The routing manager score the candidate route based on the route statistics.
In an embodiment, the method of the invention is implemented in a communications network that includes a packet-switched network, such as frame relay or the Internet. Furthermore, in other embodiments, the method of the invention is implemented in a communications network that includes a public switched telephone network (PSTN) or a combination of a PSTN and a packet-switched network.
The route information utilized by the invention includes the latency, time jitter, and lost packet information.
In an embodiment, the method of the invention includes functionality for the routing manager to prioritize the candidate route among other tested routes based on the score obtained for that candidate route. In other embodiments, the routing manager has access to a database for storing score information related to the candidate route(s) for use in route selection.
In one embodiment, the testing functions of the method of the invention include configuring the parameters for quality measurement packets to be sent to a gateway where the parameters include the packet interval, packet length, number of packets, and time limit. The routing manager includes a graphical user interface (GUI) for configuring these parameters.
Additionally, the routing manager includes a GUI for configuring the scoring table of the invention. Thus, the routing manager configures the scoring table for use in scoring candidate routes where the table includes a quality score, packet loss, average delay, and average jitter. In other embodiments, the routing manager includes a GUI for configuring the route ordering applied for a gateway, where the route ordering includes file logging information, quality of service threshold, and timeout amount.
According to embodiments of the invention, the routing manager forwards quality measurement packets to a gateway, where the quality measurement packets include routing information; and the routing manager receives returned quality measurement packets from a gateway, where the returned quality measurement packets include routing information.
The method of the invention for checking a network route includes a routing manager that determines an available gateway for routing, where the gateway is capable of responding to a request on the communications network. The routing manager determines a candidate route to the gateway, where the candidate route is within the communications network.
The routing manager tests the candidate route to a gateway using quality measurement packets, where the quality measurement packets include route information. From the route information, the routing manager determines route statistics, where the route statistics are based on routing information contained within said quality measurement packets. The routing manager score the candidate route based on the route statistics.
In an embodiment, the method of the invention is implemented in a communications network that includes a packet-switched network, such as frame relay or the Internet. Furthermore, in other embodiments, the method of the invention is implemented in a communications network that includes a public switched telephone network (PSTN) or a combination of a PSTN and a packet switched network.
The route information utilized by the invention includes the latency, time jitter, and lost packet information.
In an embodiment, the method of the invention includes functionality for the routing manager to prioritize the candidate route among other tested routes based on the score obtained for that candidate route. In other embodiments, the routing manager has access to a database for storing score information related to the candidate route(s) for use in route selection.
In one embodiment, the testing functions of the method of the invention include configuring the parameters for quality measurement packets to be sent to a gateway where the parameters include the packet interval, packet length, number of packets, and time limit. The routing manager includes a graphical user interface (GUI) for configuring these parameters.
Additionally, the routing manager includes a GUI for configuring the scoring table of the invention. Thus, the routing manager configures the scoring table for use in scoring candidate routes where the table includes a quality score, packet loss, average delay, and average jitter. In other embodiments, the routing manager includes a GUI for configuring the route ordering applied for a gateway, where the route ordering includes file logging information, quality of service threshold, and timeout amount.
According to embodiments of the invention, the routing manager forwards quality measurement packets to a gateway, where the quality measurement packets include routing information; and the routing manager receives returned quality measurement packets from a gateway, where the returned quality measurement packets include routing information.
The system and computer program product of the present invention includes a routing manager within a gateway coupled to both a network, such as the Internet, and the PSTN, via a local exchange, through which users can access the gateway either over the network or from a device connected to the local exchange. In one embodiment, the system contains numerous modules operating either in a redundant or distributed manner, as well as in a serial or parallel manner. In another embodiment, the gateway includes a database to store information collected by the routing manager.
In one embodiment of the invention, a gateway is located in a different local exchange from other gateways to provide access to specific geographical locations from the network. In another embodiment, more than one gateway can be connected to any given local exchange. In this embodiment, other gateways can prioritize route selection based on the utilization of any one of the gateways located in a given local exchange.
The computer program product of the present invention further includes a graphical user interface (GUI) for entering the specific criteria used by the method of the present invention for checking and selecting routes.
The method of the present invention includes a route testing routine. In one embodiment, the testing routine configures packet parameter(s), configures a scoring table, and configures a route order. The method of the present invention includes a testing routine where test packet(s) are sent and received for scoring and determination of route quality.
The route checking and management system supplies route information that describes the route. Furthermore, the route checking and management system includes the functionality, in hardware or software or a combination of hardware and software, for performing the methods described herein.
While the invention is described in terms of the above embodiments, this is for convenience only and is not intended to limit its application. In fact, after reading the following description, it will be apparent to one skilled in the relevant art(s), based on the teachings herein, how to implement the invention in alternative embodiments (e.g., using gateways in neighboring local exchanges, and/or stacking gateways in a single local exchange).
Furthermore, while the following description refers to the global Internet, it is not intended to limit the application of the invention. It will be apparent to one skilled in the relevant art how to implement the following invention, in any computer network, combination of networks or other alternative embodiments. For example, other Voice over Packet (VoP) networks include frame relay and asynchronous transfer mode (ATM) enabled networks.
One advantage of the invention is that a user can select the routes to other gateways to be tested.
Another advantage of the invention is that a user can select the criteria applied to candidate routes so that the proper route is selected.
Yet another advantage of the invention is that the system can test routes as the call is being placed and select the best route for that particular call. Furthermore, a user attempting to place a call where the level of quality is below a determined level can have the call routed to the nearest gateway with an acceptable level of quality.
Further features and advantages of the invention as well as the structure and operation of various embodiments of the invention are described in detail below with reference to the accompanying drawings.